package day7;

/**
 * @author oldliu
 * @since 1.0
 */
public class Arr43 {
    public static void main(String[] args) {
        // 初始化一个数组，包含示例元素
        //int[] a = {29, 22, 21, 12, 4, 3, 0, 1, 2, -3, -4};
        int a[] = {29, 22, 21, 12, 4, 3, 2, 1, 2};
        // 保存最长递增子数组的长度和起始位置
        int maxLength = 1;  // 最长递增子数组的长度
        int currentLength = 1;  // 当前递增子数组的长度
        int startIndex = 0;  // 当前递增子数组的起始索引
        int maxStartIndex = 0;  // 最长递增子数组的起始索引

        // 遍历数组，寻找最长递增子数组
        for (int i = 1; i < a.length; i++) {
            if (a[i] > a[i - 1]) {
                currentLength++;  // 如果当前元素大于前一个元素，递增当前子数组的长度
            } else {
                if (currentLength > maxLength) {
                    maxLength = currentLength;  // 更新最长递增子数组的长度
                    maxStartIndex = startIndex;  // 更新最长递增子数组的起始索引
                }
                // 重置当前递增子数组的长度和起始索引
                currentLength = 1;
                startIndex = i;
            }
        }

        // 如果最后一个递增子数组是最长的，更新maxLength
        if (currentLength > maxLength) {
            maxLength = currentLength;
            maxStartIndex = startIndex;
        }

        System.out.println("最长的递增子数组长度是 " + maxLength + "，从第 " + (maxStartIndex + 1) + " 个元素开始：");
        for (int i = maxStartIndex; i < maxStartIndex + maxLength; i++) {
            System.out.print(a[i] + "\t");
        }
    }
}

